Calendar App


Purpose

Develop a calendar app that catches error messages and display the correct calendar per year inputted The program outputs a calendar for each of the 12 months. The user enters a positive integer for a year and print the calendar for that year.

Design Process

One of my first projects that I made for my first coding class, CS303E. I am so proud of the project because of everything that I had to concider for the project. The idea of the project was to code a calendar that displayed the months from Jan-Dec in a calendar format based on the year.

Overview Process

  1. Write an outline on paper of the math behind leap years and number of days per month per year
  2. Code the inputs
  3. Code the math for per month per year for number of days
  4. Use functions to print
  5. Code an error message if input isn't acceptable

Thought Process

I researched the math behind predicting leap years (i.e. abnormal years in the calendar) and coded the math into functions categorizing the function into year and month calculation to output the right predicted number of days. Then I created a loop to print the number of days to output the calendar in a format of print("Su Mo Tu We Th Fr Sa") with the number of days below to the correct amount.

I also coded an error message to tell the user if the input into a positive integer to try again. Finally and tested the code over various years.

Skills Learned

  • Research the math to avoid hard coding
  • Figure out easier methods by using functions
  • Apply when I learned in school to a project using python
  • Have fun!

Overall Thoughts

The Calendar App is one of the few projects that I absolutely loved to make in school and something I am proud of. The professor gave us a goal without instructions of how to achieve the goal. The code reminded me why I became an engineer. I love not having set instructions and being able to make the instructions myself through research and various methods to optimize my code to the best of my abilities and applying the knowledge that my professor gave me to produce a product that I can see at the end.

However, the project also taught me to meticulous to details because I did get some points off on the grading since my try again message should be indented with two spaces in the output.

Moral of the story: “Try Something New, Learn Something New”